package com.itheima.stringTest;

import java.util.Scanner;

public class strDemo5 {
    public static void main(String[] args) {
//        需求1：键盘录入 0-9的字符串，转成对应的罗马数字并打印在控制台中。【罗马数字没有0 ， 故0用空字符串代替 "" ;Ⅰ代表1，Ⅱ代表2，Ⅲ代表3，Ⅳ代表4，Ⅴ代表5，Ⅵ代表6，Ⅶ代表7，Ⅷ代表8，Ⅸ代表9】
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入数字");
        String numbs = sc.next();
        String[] strArry = {"", "Ⅰ", "Ⅱ", "Ⅲ", "Ⅳ", "Ⅴ", "Ⅵ", "Ⅶ", "Ⅷ", "Ⅸ"};
        StringBuilder sb = new StringBuilder();
        if(!checkNum(numbs)){
            System.out.println("你输入的内容不符合规则！！！");
            return;
        }
        for (int i = 0; i < numbs.length(); i++) {
            char cat = numbs.charAt(i);
            int index = cat - 48;  // 字符数字转成普通数字
            String lbStr = strArry[index];    // 查表法
            sb.append(lbStr);    // 拼接
        }
        String result = sb.toString();  // 转成普通字符串类型
        System.out.println("转换以后的对应的阿拉伯数字为：" + result);
    }
//    方法：校验输入的是0-9的数字
    public static Boolean checkNum(String str){
        for (int i = 0; i < str.length(); i++) {
            char ct = str.charAt(i);
            if(ct < '0' || ct > '9'){
                return false;
            }
        }
        return true;
    }
}
